Systems have been developed for customized addressable video advertising. The systems are implemented mostly in traditional TV distribution networks (Cable, Satellite, and Broadcast). A typical system is illustrated in FIG. 1.
Referring to FIG. 1, a creation function 10 generally refers to the process of defining and setting up a customizable campaign. This process is generally supported by media tools (for example, storyboarding tools, editing tools, and other production and post-production tools) as well as data tools (for example, segmentation tools, analysis tools, etc.). The output of this process over line 12 is a campaign, consisting of produced media (typically in a high quality format, such as DV50), graphics, timing information, segmentation/targeting data, and all other metadata required to create different versions of the commercials and deliver them to the appropriate audience. The creation process of FIG. 1 generally takes place once, before the campaign starts to go on-air, and the different commercials are stored in an intermediate cache server.
A management function 14 generally refers to the process of monitoring and managing the campaign while it is on-air. This can include changing metadata, changing how certain versions of the commercial air under different circumstances, changing some of the price information in the commercial, etc. The process of managing a campaign can continue throughout the whole period that the campaign is on-air (whereas the creation process 10 is, as noted above, typically mostly done before the campaign starts to air). The management function output is available on lines 16.
A packaging process 18 generally refers to the process of combining all media and (meta-) data into single “assets” (sometimes referred to herein as “packages”). This process covers all the manipulation of media and data that is necessary to create single assets that can be easily distributed through delivery networks and then transformed into the final commercials that need to be displayed. It can cover process steps such as computing and rendering graphics over video, encoding audio and video into the formats required by the destination networks, matching of targeting data against delivery points, etc.
The packages (for example, the single assets that represent the media and data associated with a campaign) are output by the packaging control 18 over a line 20 and are distributed to its destination(s) through a delivery network 22. This can be any computer network that meets bandwidth and security constraints required for this application. It is typically a point-to-multi-point connection (in other words, packages are typically sent from one place to many destination points (for example, to different cable systems, different satellite operators, or even different individual set-top boxes in a TV distribution network)). Different delivery networks typically have some unique features and/or constraints that are the result of their own unique architecture (for example, in a Broadcast Environment the same video signal is broadcast and shown to all viewers, in a Video-On-Demand environment every viewer sees their own unique copy of the video signal, etc.).
A de-packaging process module 24 receives the data from the delivery network 11 over a line 26 and generates the correct version(s) of the commercials for display at a specific times for a specific (group of) viewer(s). This process takes place in, or at the edge of, the Delivery Network 22 (for example, in a Video-On-Demand server, or in a Broadcast Facility). The de-packaging process generates a commercial that can immediately be displayed to a viewer, so it typically needs to be in a specific format depending on system and location (for example, MPEG-2 with specific encoding settings in the case of a modern cable system). De-packaging is a fully automated process (that is, it happens without human intervention) and happens prior to the time when the commercial is to be viewed. The unpackaged commercials are then sent and stored in an intermediate cache server 25 from the de-packaging module 24 over a line 28.
A display module 26 then receives the commercial to be displayed over lines 29 as needed, and generally renders the commercial to the viewer. This is typically performed using existing display systems. Depending on the network and implementation, this can be done using a Flash Player (in case of a Broadband application), using a digital set-top box (in case of a modern cable system), etc. It is important to note that the specific network/player/set-top box typically imposes certain specific formatting constraints on the commercial (for example, it needs to be in .flv file format for Flash Player, specific MPEG-2 flavor in case of set-top box, etc.).
Accordingly, it is important to be able to de-package quickly and efficiently in order to reduce delay times and increase efficiency and throughput in the system. It is also important to minimize the bandwith required by the packages.